# -*- coding: utf-8 -*-
from . import loggerfrom . import loggerclass Scheduler:
    def addAsync(self, func, taskId="a", callback=None):
        # type: (callable, str, callable) -> None
        """
        新增一个异步任务。异步任务中无法访问底层接口，不建议使用
        Args:
        - func (callable): 要执行的任务。不接收任何参数
        - taskId (str): 序列ID。同序列ID的任务会在同一个线程上依次执行
        - callback (callable): 回调函数，默认为None，在完成异步任务后会在主线程执行
        """
        pass

    def add(self, func, delay, repeat=-1, name="", args=None):
        # type: (callable, int, int, object) -> int
        """
        新增一个同步任务，会在之后执行。
        Args:
        - func (callable): 要执行的任务。不接收任何参数。若要携带参数，可以定义一下args
        - delay (int): 延迟执行的延时，单位游戏刻（1秒=20刻）
        - repeat (int): 反复执行的延时，单位游戏刻（1秒=20刻）。若不填则只执行一次
        - args (object): 执行函数时传入的参数，默认None，即没有参数
        Returns:
            taskId (int): 任务ID。可随时用scheduler.cancel(taskId)将此任务移除
        """
        pass

    def cancel(self, taskId):
        # type: (int) -> None
        """
        删除一个同步任务
        Args:
            taskId (int): 添加任务时返回的taskId
        """
        pass

